Kỹ thuật Kết xuất đồ họa

Nhiều thuật toán kết xuất đồ họa đã được nghiên cứu và phần mềm dùng trong quá trình kết xuất có thể áp dụng một số những kỹ thuật kết xuất để đạt được hình ảnh cuối cùng.

Mô phỏng lại từng tia sáng một trong một khung cảnh là một việc không thực tiễn và đòi hỏi một lượng thời gian khổng lồ. Ngay cả khi chỉ xác định một phần đủ lớn để sinh tạo một hình ảnh cũng đã đòi hỏi một lượng thời gian lớn quá mức nếu quá trình lấy mẫu không được hạn chế một cách khéo léo và thông minh.

Chính vì những nguyên nhân nói trên, bốn phương pháp kết xuất ảnh đã và đang được phát triển nhằm đáp ứng những loại yêu cầu khác nhaukỹ thuật tạo ảnh điểm (rasterisation), bao gồm việc kết xuất đường quét màn hình (scanline rendering), cân nhắc các đối tượng trong phong cảnh và diễn đạt chúng để tạo nên một hình ảnh, trong khi không có phương tiện để kiến tạo hiệu ứng luật xa gần (perspective) của một góc nhìn; kỹ thuật chiếu tia sáng (ray casting) tái hiện khung cảnh như được quan sát từ một góc nhìn cụ thể, tính toán hình ảnh quan sát được dựa trên tính hình học và các quy luật quang học căn bản về cường độ phản quang của ánh sáng, hoặc sử dụng các kỹ thuật Monte Carlo để làm giảm độ nhiễu (noise) (làm cho ảnh rõ hơn); và kỹ thuật dò tia sáng tia (ray tracing), một phiên bản tổng quát hơn của phương pháp ray casting, thường sử dụng các kỹ thuật Monte Carlo để đạt được kết quả trông giống thật hơn, với một tốc độ nhanh hơn gấp nhiều lần so với tốc độ rất chậm thường thấy của quá trình này.

Đa số những phần mềm tân tiến kết hợp từ hai kỹ thuật trở lên để đạt được kết quả khả quan với phí tổn ở mức độ có thể chấp nhận được.

Kết xuất đường quét và tạo điểm ảnh

Hình thức đại diện cao cấp của một bức ảnh là một hình thức cần phải chứa đựng những yếu tố ở một thể dạng khác với các điểm ảnh (pixels). Những yếu tố này được gọi là những nguyên thủy (primitives). Lấy ví dụ, trong một bức giản đồ, các đoạn đường thẳng và đường cong là những nguyên thủy. Trong giao diện đồ họa người dùng, các cửa sổ, các nút bấm còn có thể được gọi là những nguyên thủy. Đối với kết xuất hình ba chiều, các tam giác và đa giác trong không gian cũng có thể là các nguyên thủy.

Nếu kết xuất từng điểm ảnh (pixel-by-pixel rendering) là một phương pháp không thực tiễn, hoặc quá chậm đối với một nhiệm vụ nào đấy, thì phương pháp kết xuất từng nguyên thủy một có thể là một phương pháp có tác dụng hơn. Ở đây, thuật toán được lặp đi lặp lại (loops) qua từng nguyên thủy một, xác định điểm ảnh nào trong bức ảnh nó tác động đến, và biến đổi những điểm ảnh này. Quá trình này được gọi là quá trình tạo điểm ảnh (rasterization), và nó là phương pháp kết xuất trong tất cả các bộ điều hợp đồ họa (graphics cards) hiện thời.

Phương pháp tạo điểm ảnh thường nhanh hơn phương pháp kết xuất từng điểm ảnh một (pixel-by-pixel rendering). Thứ nhất, phần lớn địa phận trong bức ảnh không có các nguyên thủy, phương pháp tạo điểm ảnh sẽ bỏ qua những địa phận này, song phương pháp kết xuất từng chấm ảnh một phải kinh qua chúng. Thứ hai, phương pháp tạo điểm ảnh còn có thể cải tiến sự gắn kết của cache (cache coherency) và giảm ước những công việc thừa, không cần phải làm, bằng cách áp dụng lợi thế của thực tiễn là các chấm ảnh trong một nguyên thủy thường có xu hướng kế cận liên tiếp (contiguous). Chính vì những nguyên nhân này, khi cần phải kết xuất tương tác, phương pháp tạo điểm ảnh thường là một tiếp cận người ta lựa chọn; tuy nhiên, phương pháp kết xuất từng chấm ảnh một lại thường tạo ảnh có chất lượng cao hơn và năng động hơn vì nó không phụ thuộc vào các giả định về bức ảnh nhiều như phương pháp tạo điểm ảnh.

Có hai hình thức tạo điểm ảnh chính tồn tại, không chỉ khi toàn bộ một bề mặt (nguyên thủy) được kết xuất, song ngay cả khi các giao điểm của một bề mặt đã được kết xuất và sau đó các chấm ảnh trên bề mặt nằm giữa các giao điểm được kết xuất bằng cách dung hòa màu của các giao điểm với nhau, từ cái này đến cái kia, phương pháp tạo điểm ảnh này đã vượt trội và thay thế phương pháp cũ vì nó cho phép các mảng đồ họa được kết nối với nhau mà không cần dùng chất liệu phức tạp (một hình ảnh được kết xuất điểm ảnh (rasterized image) khi được chắp nối kề bên nhau thường gây hiệu ứng từng khối riêng nếu chúng không được bao phủ bằng những chất liệu phức tạp; các bề mặt không được nhẵn nhụi, vì không có sự chuyển màu từ từ giữa chấm ảnh này đến chấm ảnh khác), sử dụng các hàm tạo bóng (shading functions) đắt đỏ hơn của bộ điều hợp đồ họa, song vẫn đạt được công suất cao hơn vì những chất liệu đơn giản hơn được lưu trữ trong bộ nhớ sử dụng khoảng trống ít hơn. Đôi khi, các nhà thiết kế sử dụng một phương pháp tạo điểm ảnh trên một số bề mặt này, và sử dụng các phương pháp khác trên các bề mặt khác, dựa trên cơ sở góc độ nơi bề diện ấy giao tiếp và các bề mặt khác hội nhập, và do vậy tăng tốc độ của quá trình, đồng thời không làm tổn hại đến hiệu ứng chung.

Chiếu quang tia

Chiếu quang tia (Ray casting) được sử dụng chủ yếu trong các mô phỏng thời gian thực (tức khắc), như trong các trò chơi điện tử 3D hoặc trong hoạt hình các hình ảnh vẽ (phim hoạt họa), nơi chi tiết là một điều không quan trọng, hoặc nơi tự mình tạo giả các chi tiết hòng đạt được công suất cao hơn trong quá trình tính toán là một việc có tác dụng hơn. Việc này thường thấy trong trường hợp phải hoạt hình một số lượng khung ảnh lớn. Các bề diện tạo nên có đặc tính là chúng có bề mặt 'phẳng lì', khi người ta không sử dụng các thủ thuật bên ngoài, giống như các vật thể trong phong cảnh được quét một làn sơn xỉn kết thúc vậy.

Tính hình học được mô hình hóa ở đây được phân tích bằng từng chấm từng chấm một, bằng từng đường thẳng một, từ điểm nhìn chiếu ra, tương tự như các quang tia được chiếu ra từ điểm nhìn. Tại giao điểm nơi hai đối tượng cắt ngang nhau, giá trị màu tại điểm này có thể được xác định bằng một số phương pháp. Cách đơn giản nhất, giá trị màu của đối tượng tại giao điểm chính là giá trị của chấm ảnh. Màu của nó còn có thể được lấy từ hình chất liệu (texture map) nữa. Một phương pháp phức tạp hơn là phương pháp thay đổi giá trị màu bằng độ hừng sáng, song không tính toán mối quan hệ với một nguồn sáng mô phỏng. Để thuyên giảm nhiễu, những quang tia có góc độ hơi khác nhau một chút có thể được tính bằng giá trị trung bình của chúng.

Nhiều sự mô phỏng tương đối các đặc tính quang học còn có thể được áp dụng thêm vào, chẳng hạn làm thêm một phép tính đơn giản trên quang tia, từ đối tượng đến điểm nhìn. Một phép toán nữa là phép toán tính góc của các quang tia chiếu tới từ một hay nhiều nguồn sáng (angle of incidence of light rays), và từ đó, cộng với cường độ ánh sáng của nguồn, giá trị của chấm ảnh được xác định. Một mô phỏng khác nữa là phương pháp dùng giá trị hừng sáng lấy được từ thuật toán tính sự va đập của ánh sáng, hoặc là sự phối hợp của cả hai cái này gộp lại.

Tính va đập của ánh sáng

Thuật toán tính sự va đập của ánh sáng (Radiosity) là một phương pháp nhằm mô phỏng sự phản xạ của ánh sáng, không những chỉ phản xạ sang một mặt phẳng khác mà thôi, song cả việc nó làm hừng sáng địa phận chung quanh nữa. Phương pháp này tạo nên các bóng tối thật hơn và hình như nắm bắt được không khí môi trường (ambiance) của quang cảnh bên trong nội thất. Một ví dụ kinh điển nhất đã được sử dụng là ví dụ về bóng tối bao trùm các góc phòng.

Nền tảng quang học trong mô phỏng này dựa trên nguyên lý một số ánh sáng khuếch tán từ một điểm trên một bề mặt cho trước, được phản xạ lại với vô số các góc độ và làm hừng sáng địa phận bao quanh nó.

Kỹ thuật mô phỏng có thể khác nhau về mức độ phức tạp. Nhiều quá trình kết xuất chỉ ước lượng tương đối tính va đập của ánh sáng, và chỉ đơn giản làm hừng sáng toàn bộ không gian của bức ảnh lên một chút với một cường độ được gọi là không khí môi trường (ambiance). Tuy thế, song khi thuật toán ước tính sự va đập ánh sáng tân tiến được đi đôi với một thuật toán dõi quang tia chất lượng cao (high quality ray tracing algorithm), các hình ảnh có thể biểu hiện tính sát thực của chúng ở một mức độ thuyết phục, đặc biệt là những phong cảnh nội thất.

Trong kỹ thuật mô phỏng tính va đập của ánh sáng tân tiến, các thuật toán phần tử hữu hạn (finite-element algorithm) đệ quy làm 'nẩy tung' ánh sáng, bắn đi và bật trở lại giữa các bề mặt trong mô hình, cho đến khi một giới hạn đệ quy nào đấy kết thúc. Trong phương pháp này, việc bố trí màu sắc của một mặt phẳng ảnh hưởng tới việc bố trí màu sắc của bề mặt bên cạnh nó và ngược lại. Các giá trị về độ hừng sáng đạt được trong toàn bộ mô hình (đôi khi bao gồm cả những khoảng không gian trống rỗng) được lưu trữ và được sử dụng như những nhập liệu bổ sung khi thi hành các phép tính trong mô hình chiếu quang tia (ray-casting) hoặc mô hình dõi quang tia (ray-tracing).

Do bản chất tương tác/quy đệ của kỹ thuật này, mô phỏng các vật thể phức tạp đặc biệt tốn nhiều thời gian và chậm trễ. Các phép toán tính sự va đập của ánh sáng tân tiến có thể chỉ dành cho việc tính toán không khí trong phòng, từ sự phản quang của ánh sáng từ các bức tường, sàn và trần nhà, mà không kiểm tra ảnh hưởng bổ sung mà các vật thể phức tạp tạo ra đối với sự va đập của ánh sáng—hoặc trong khi tính toán sự va đập của ánh sáng, chúng ta có thể thay thế các vật thể phức tạp bằng những vật thể đơn giản hơn, song có cùng độ lớn và cùng một chất liệu.

Nếu sự bố trí lại các vật va đập ánh sáng trong một phong cảnh không thay đổi mấy thì dữ liệu về sự va đập ánh sáng này có thể được dùng lại trong một số khung ảnh, biến tính va đập của ánh sáng trở nên một phương pháp làm giảm tính bẹt, phẳng lì của phương pháp chiếu quang tia, mà không gây ảnh hưởng lớn đến thời gian kết xuất từng khung ảnh tổng thể.

Bởi tính năng của nó, phép tính sự va đập ánh sáng trở nên phương pháp hàng đầu dùng để kết xuất trong thời gian thực, và nó được sử dụng từ đầu chí cuối trong việc xây dựng một số lượng lớn các phim hoạt họa 3D dài nổi tiếng gần đây.

Dò tia sáng

Phương pháp dò tia sáng (ray tracing) là phiên bản mở rộng (và tổng quát hơn) của phương pháp chiếu tia sáng (ray casting). Giống như các phương pháp trên, dò tia sáng giải quyết các vật thể khá thành công, và các vật thể còn có thể được diễn giải bằng toán học nữa. Khác với đường quét hình và chiếu quang tia, dõi quang tia hầu như luôn luôn là kỹ thuật Monte Carlo, có nghĩa là kỹ thuật dựa trên cơ sở tính trung bình một số mẫu lấy ngẫu nhiên (không theo một công thức nào) từ một mô hình.

Trong kỹ thuật này, mẫu lấy là các quang tia tưởng tượng của ánh sáng cắt ngang điểm nhìn từ các vật thể trong phong cảnh. Kỹ thuật này có lợi chủ yếu trong trường hợp kết xuất bóng tối (ngả bóng), kết xuất sự khúc xạ hay kết xuất sự khản quang một cách phức tạp và chính xác là những vấn đề nan giải.

Trong kết quả cuối cùng của một công trình kết xuất dõi quang tia có chất lượng (như công trình dàn dựng phim chẳng hạn), bội số các quang tia thường được chiếu vào mỗi một chấm ảnh và dõi theo, không chỉ tới vật thể đầu tiên khi bị cắt ngang, song cả tới những va đập tiếp theo nữa, bằng cách sử dụng những quy luật quang học đã biết như quy luật góc chiếu bằng góc phản xạ, và những quy luật giải quyết vấn đề khúc xạ và sự gồ ghề của bề mặt.

Một khi quang tia gặp một nguồn sáng, hoặc trong trường hợp khả dĩ hơn, khi một nhóm số lượng giới hạn các va đập của quang tia đã được tính toán xong, thì độ hừng sáng của bề mặt tại điểm cuối cùng cũng tính được dùng các kỹ thuật đã diễn tả ở trên, và các thay đổi trên con đường thông qua các va đập được tính toán để ước lượng giá trị mà người ta quan sát được từ điểm nhìn. Phép toán này được nhắc lại cho mỗi mẫu hình lấy được, đối với mỗi chấm ảnh.

Trong một số trường hợp, tại mỗi giao điểm, các tia sáng mới sẽ được sản sinh ra.

Do tính chất "thô lực" của phương pháp này (tính từng tia sáng một), dò tia sáng không phù hợp với mục đích kết xuất theo thời gian thực (real-time rendering) và ngay cả đến gần đây, phương pháp này vẫn được coi là quá chậm chạp, ngay cả khi để dùng vào các phim ngắn có chất lượng, tuy nó cũng đã được sử dụng trong một số đoạn tạo hiệu ứng đặc biệt và trong quảng cáo, trong đó một đoạn phim ngắn đòi hỏi chất lượng cao (có thể như ảnh chụp nữa) là một yêu cầu.

Tuy vậy, song nhiều cố gắng trong việc tối ưu hóa để thuyên giảm số lượng tính toán đòi hỏi trong các phần công việc, nơi không nhiều chi tiết hay không phụ thuộc vào các đặc trưng của dõi quang tia, đã dẫn đến khả năng thực tiễn sử dụng rộng rãi của kỹ thuật dõi quang tia. Hiện nay cũng đã có một số thiết bị phần cứng tăng tốc dõi quang tia, hoặc ít nhất cũng đã xuất hiện ở giai đoạn nghiên cứu nguyên mẫu (bản mẫu trước khi cho sản xuất hàng loạt), và một số trò chơi điện tử giới thiệu quảng cáo cũng đã trình diễn việc sử dụng dõi quang tia thời gian thực trong phần mềm và phần cứng.

Liên quan

Kết xuất đồ họa Kết quả thi đấu của Đội tuyển bóng đá quốc gia Việt Nam (1947–2019) Kết quả chi tiết giải bóng đá nữ vô địch quốc gia 2016 Kết quả chi tiết Giải bóng đá nữ Vô địch Quốc gia 2017 Kết quả chi tiết giải bóng đá nữ vô địch quốc gia 2010 Kết hợp dân sự Kết luận tư vấn của Tòa án Quốc tế về tính hợp pháp của việc đe dọa hoặc sử dụng vũ khí hạt nhân Kết quả chi tiết giải bóng đá nữ vô địch quốc gia 2015 Kết quả chi tiết giải bóng đá nữ vô địch quốc gia 2011 Kết quả chi tiết giải bóng đá nữ vô địch quốc gia 2009